package com.health.healthSys.mapper;

import java.util.List;
import com.health.healthSys.domain.HealthRecords;
import org.apache.ibatis.annotations.Param;

/**
 * 健康数据Mapper接口
 *
 * @author maple
 * @date 2025-02-28
 */
public interface HealthRecordsMapper
{
    /**
     * 查询健康数据
     *
     * @param healthId 健康数据主键
     * @return 健康数据
     */
    public HealthRecords selectHealthRecordsByHealthId(String healthId);

    /**
     * 查询健康数据列表
     *
     * @param healthRecords 健康数据
     * @return 健康数据集合
     */
    public List<HealthRecords> selectHealthRecordsList(HealthRecords healthRecords);

    /**
     * 新增健康数据
     *
     * @param healthRecords 健康数据
     * @return 结果
     */
    public int insertHealthRecords(HealthRecords healthRecords);

    /**
     * 修改健康数据
     *
     * @param healthRecords 健康数据
     * @return 结果
     */
    public int updateHealthRecords(HealthRecords healthRecords);

    /**
     * 删除健康数据
     *
     * @param healthId 健康数据主键
     * @return 结果
     */
    public int deleteHealthRecordsByHealthId(String healthId);

    /**
     * 批量删除健康数据
     *
     * @param healthIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHealthRecordsByHealthIds(String[] healthIds);

    // 新增血糖数据查询方法
    /**
     * 查询血糖趋势数据
     * @param userId 用户ID
     * @param startDate 开始日期 (格式：yyyy-MM-dd)
     * @param endDate 结束日期 (格式：yyyy-MM-dd)
     * @return 血糖数据列表
     */
    List<HealthRecords> selectBloodSugarData(
            @Param("userId") Long userId,
            @Param("startDate") String startDate,
            @Param("endDate") String endDate);

    List<HealthRecords> selectBloodPressureData(
            @Param("userId") Long userId,
            @Param("startDate") String startDate,
            @Param("endDate") String endDate);
}


